// 面试题 01.02.判定是否互为字符重排
// 给定两个字符串 s1 和 s2， 请编写一个程序， 确定其中一个字符串的字符重新排列后， 能否变成另一个字符串。
/**
 * @param {string} s1
 * @param {string} s2
 * @return {boolean}
 */
var CheckPermutation = function (s1, s2) {
  if (s1.length !== s2.length) {
    return false
  }
  let map = new Map()
  let n = s1.length
  let sum = 0
  for (let i = 0; i < n; i++) {
    if (map.has(s1[i])) {
      map.set(s1[i], map.get(s1[i]) + 1)
    } else {
      console.log(s1[i])
      map.set(s1[i], 1)
    }
  }
  for (let i = 0; i < n; i++) {
    if(!map.has(s2[i])){
      return false
    }
    if(map.get(s2[i]) > 0){
      map.set(s2[i],map.get(s2[i]) -1)
      sum++
    }
  }
  return sum === n
};
var s1 = "asvnpzurz"
s2 = "urzsapzvn"
console.log(CheckPermutation(s1, s2))
